Nested Parallelism in the OMPi OpenMP/C Compiler

نویسندگان

  • Panagiotis E. Hadjidoukas
  • Vassilios V. Dimakopoulos
چکیده

This paper presents a new version of the OMPi OpenMP C compiler, enhanced by lightweight runtime support based on user-level multithreading. A large number of threads can be spawned for a parallel region and multiple levels of parallelism are supported efficiently, without introducing additional overheads to the OpenMP library. Management of nested parallelism is based on an adaptive distribution scheme with hierarchical work stealing that not only favors computation and data locality but also maps directly to recent architectural developments in shared memory multiprocessors. A comparative performance evaluation of several OpenMP implementations demonstrates the efficiency of our approach.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The OMPi OpenMP/C Compiler

We have designed and implemented OMPi, a portable compiler for OpenMP/C. This paper presents an overview of our compiler and its supporting libraries. OMPi is a C-to-C translator that takes C code with OpenMP directives and produces equivalent multithreaded C code ready for execution on a multiprocessor. Our compiler is the only publicly available one that adheres to version 2.0 of the standard...

متن کامل

A portable C compiler for OpenMP V.2.0

This paper presents an overview of OMPi, a portable implementation of the OpenMP API for C, adhering to the recently released version 2.0 of the standard. OMPi is a C-to-C translator which takes C code with OpenMP directives and produces equivalent C code which uses POSIX threads, similarly to other publicly available implementations. However, in contrast to the latter, OMPi is written entirely...

متن کامل

OpenMP 4.0 Device Support in the OMPi Compiler

OpenMP 4.0 represents a major upgrade in the language specifications of the standard. Important constructs for the exploitation of SIMD parallelism, the support for dependencies among tasks and the ability to cancel the operations of a team of threads have been added. What is arguably the most important addition, however, is the introduction of the device model. A variety of computational units...

متن کامل

Portable Support and Exploitation of Nested Parallelism in OpenMP

In this paper, we present an alternative implementation of the NANOS OpenMP runtime library (NthLib) that targets portability and efficient support of multiple levels of parallelism. We have implemented the runtime libraries of available opensource OpenMP compilers on top of NthLib, reducing thus their overheads and providing them with inherent support for nested parallelism. In addition, we pr...

متن کامل

NanosCompiler: supporting flexible multilevel parallelism exploitation in OpenMP

This paper describes the support provided by the NanosCompiler to nested parallelism in OpenMP. The NanosCompiler is a source-to-source parallelizing compiler implemented around a hierarchical internal program representation that captures the parallelism expressed by the user (through OpenMP directives and extensions) and the parallelism automatically discovered by the compiler through a detail...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007